#include "isr.h"
#include "app_user_interface.h"
#include "app_motion_control.h"

// 设备驱动调用
#include "device.h"
extern device_t device;
static mpu6050_t *mpu6050 = &device.mpu6050;
static para_t *para = &device.para;

// 定时器中断服务函数
// 注意函数名称不能自定义
void TIM2_IRQHandler(void)   
{
	if (TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET) // 检查指定的TIM中断发生与否:TIM 中断源 
	{
		TIM_ClearITPendingBit(TIM2, TIM_IT_Update);  // 清除TIMx的中断待处理位:TIM 中断源 
		
		// 获取陀螺仪原始数据
        mpu6050->get_raw_data();
		
		// 运动控制
		motion_control(para->timer_frequency);
		
		// 用户交互定时器中断处理
		user_interface_tim_handle(para->timer_frequency);
	}
}
